DevJourney

Python/Bruteforcing 💀/bruteforcing.py

import re

def brute_force(password):
    characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
    attempts = 0

    def generate_attempts(current_attempt):
        nonlocal attempts
        if len(current_attempt) > len(password):
            return None
        attempts += 1
        print(f"Attempt {attempts}: {current_attempt}")
        if current_attempt == password:
            return current_attempt, attempts
        for char in characters:
            result = generate_attempts(current_attempt + char)
            if result:
                return result
        return None

    return generate_attempts('')

password = input("Enter the password: ")
rePat = r'[a-zA-Z0-9]+'
if re.fullmatch(rePat, password):
    print("Password is valid")
    cPassword, attempts = brute_force(password)
    if cPassword:
        print(f"Password cracked: {cPassword} in {attempts} attempts")
    else:
        print(f"Failed to crack the password after {attempts} attempts")

else:
    print("Password is invalid")
View on GitHub